package org.larkdoc.model.vo;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 文档信息VO
 * 
 * @author  zhangpeijun[zhangpeijun1024@qq.com]
 * @version  [v1.0.1, 2017年10月17日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public class DocVO implements Serializable {
    
    private List<ProjectVO>   projects;
    
    private String            projectIds;
    
    private List<GroupVO>     groups;
    
    private String            groupIds;
    
    private List<Integer>     projectIdList;
    
    /**
     * 是否查询自己编写的文档
     */
    private Boolean           own;
    
    /**
     * id
     * Column : doc_info.id
     *
     * @mbggenerated
     */
    private Integer           id;
    
    /**
     * 名称
     * Column : doc_info.name
     *
     * @mbggenerated
     */
    private String            name;
    
    /**
     * 标签
     * Column : doc_info.tag
     *
     * @mbggenerated
     */
    private String            tag;
    
    /**
     * 简介
     * Column : doc_info.Profile
     *
     * @mbggenerated
     */
    private String            description;
    
    /**
     * 可见范围-0：自己可见，1：群组可见，2：项目组可见(默认)，3：所有人可见
     * Column : doc_info.visible_range
     *
     * @mbggenerated
     */
    private Integer           visibleRange;
    
    /**
     * md内容
     * Column : doc_info.md_detail
     *
     * @mbggenerated
     */
    private String            mdDetail;
    
    /**
     * html内容
     * Column : doc_info.html_detail
     *
     * @mbggenerated
     */
    private String            htmlDetail;
    
    /**
     * 文档路径
     * Column : doc_info.path
     *
     * @mbggenerated
     */
    private String            path;
    
    /**
     * 短地址
     * Column : doc_info.short_url
     *
     * @mbggenerated
     */
    private String            shortUrl;
    
    /**
     * 创建者
     * Column : doc_info.creator
     *
     * @mbggenerated
     */
    private String            creator;
    
    /**
     * 数据状态-数据是否有效：0：无效,1：有效
     * Column : doc_info.is_valid
     *
     * @mbggenerated
     */
    private Integer           isValid;
    
    /**
     * 创建时间
     * Column : doc_info.create_time
     *
     * @mbggenerated
     */
    private Date              createTime;
    
    /**
     * 更新时间
     * Column : doc_info.update_time
     *
     * @mbggenerated
     */
    private Date              updateTime;
    
    /**
     * 备注信息
     * Column : doc_info.remark
     *
     * @mbggenerated
     */
    private String            remark;
    
    /**
     * 目录信息
     * Column : doc_info.catalog
     *
     * @mbggenerated
     */
    private String            catalog;
    
    /**
     * 最新版本
     * Column : doc_info.latest_version
     *
     * @mbggenerated
     */
    private String            latestVersion;
    
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table doc_info
     *
     * @mbggenerated
     */
    private static final long serialVersionUID = 1L;
    
    /**
     * Returns : id
     *
     * @return the value of doc_info.id
     *
     * @mbggenerated
     */
    public Integer getId() {
        return id;
    }
    
    /**
     * This method sets : id
     *
     * @param id the value for doc_info.id
     *
     * @mbggenerated
     */
    public void setId(Integer id) {
        this.id = id;
    }
    
    /**
     * Returns : 名称
     *
     * @return the value of doc_info.name
     *
     * @mbggenerated
     */
    public String getName() {
        return name;
    }
    
    /**
     * This method sets : 名称
     *
     * @param name the value for doc_info.name
     *
     * @mbggenerated
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }
    
    /**
     * Returns : 标签
     *
     * @return the value of doc_info.tag
     *
     * @mbggenerated
     */
    public String getTag() {
        return tag;
    }
    
    /**
     * This method sets : 标签
     *
     * @param tag the value for doc_info.tag
     *
     * @mbggenerated
     */
    public void setTag(String tag) {
        this.tag = tag == null ? null : tag.trim();
    }
    
    public String getDescription() {
        return description;
    }
    
    public void setDescription(String description) {
        this.description = description;
    }
    
    /**
     * Returns : 可见范围-0：自己可见，1：群组可见，2：项目组可见(默认)，3：所有人可见
     *
     * @return the value of doc_info.visible_range
     *
     * @mbggenerated
     */
    public Integer getVisibleRange() {
        return visibleRange;
    }
    
    /**
     * This method sets : 可见范围-0：自己可见，1：群组可见，2：项目组可见(默认)，3：所有人可见
     *
     * @param visibleRange the value for doc_info.visible_range
     *
     * @mbggenerated
     */
    public void setVisibleRange(Integer visibleRange) {
        this.visibleRange = visibleRange;
    }
    
    /**
     * Returns : md内容
     *
     * @return the value of doc_info.md_detail
     *
     * @mbggenerated
     */
    public String getMdDetail() {
        return mdDetail;
    }
    
    /**
     * This method sets : md内容
     *
     * @param mdDetail the value for doc_info.md_detail
     *
     * @mbggenerated
     */
    public void setMdDetail(String mdDetail) {
        this.mdDetail = mdDetail == null ? null : mdDetail.trim();
    }
    
    /**
     * Returns : html内容
     *
     * @return the value of doc_info.html_detail
     *
     * @mbggenerated
     */
    public String getHtmlDetail() {
        return htmlDetail;
    }
    
    /**
     * This method sets : html内容
     *
     * @param htmlDetail the value for doc_info.html_detail
     *
     * @mbggenerated
     */
    public void setHtmlDetail(String htmlDetail) {
        this.htmlDetail = htmlDetail == null ? null : htmlDetail.trim();
    }
    
    /**
     * Returns : 文档路径
     *
     * @return the value of doc_info.path
     *
     * @mbggenerated
     */
    public String getPath() {
        return path;
    }
    
    /**
     * This method sets : 文档路径
     *
     * @param path the value for doc_info.path
     *
     * @mbggenerated
     */
    public void setPath(String path) {
        this.path = path == null ? null : path.trim();
    }
    
    /**
     * Returns : 短地址
     *
     * @return the value of doc_info.short_url
     *
     * @mbggenerated
     */
    public String getShortUrl() {
        return shortUrl;
    }
    
    /**
     * This method sets : 短地址
     *
     * @param shortUrl the value for doc_info.short_url
     *
     * @mbggenerated
     */
    public void setShortUrl(String shortUrl) {
        this.shortUrl = shortUrl == null ? null : shortUrl.trim();
    }
    
    /**
     * Returns : 创建者
     *
     * @return the value of doc_info.creator
     *
     * @mbggenerated
     */
    public String getCreator() {
        return creator;
    }
    
    /**
     * This method sets : 创建者
     *
     * @param creator the value for doc_info.creator
     *
     * @mbggenerated
     */
    public void setCreator(String creator) {
        this.creator = creator == null ? null : creator.trim();
    }
    
    /**
     * Returns : 数据状态-数据是否有效：0：无效,1：有效
     *
     * @return the value of doc_info.is_valid
     *
     * @mbggenerated
     */
    public Integer getIsValid() {
        return isValid;
    }
    
    /**
     * This method sets : 数据状态-数据是否有效：0：无效,1：有效
     *
     * @param isValid the value for doc_info.is_valid
     *
     * @mbggenerated
     */
    public void setIsValid(Integer isValid) {
        this.isValid = isValid;
    }
    
    /**
     * Returns : 创建时间
     *
     * @return the value of doc_info.create_time
     *
     * @mbggenerated
     */
    public Date getCreateTime() {
        return createTime;
    }
    
    /**
     * This method sets : 创建时间
     *
     * @param createTime the value for doc_info.create_time
     *
     * @mbggenerated
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
    /**
     * Returns : 更新时间
     *
     * @return the value of doc_info.update_time
     *
     * @mbggenerated
     */
    public Date getUpdateTime() {
        return updateTime;
    }
    
    /**
     * This method sets : 更新时间
     *
     * @param updateTime the value for doc_info.update_time
     *
     * @mbggenerated
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    
    /**
     * Returns : 备注信息
     *
     * @return the value of doc_info.remark
     *
     * @mbggenerated
     */
    public String getRemark() {
        return remark;
    }
    
    /**
     * This method sets : 备注信息
     *
     * @param remark the value for doc_info.remark
     *
     * @mbggenerated
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }
    
    public List<ProjectVO> getProjects() {
        return projects;
    }
    
    public void setProjects(List<ProjectVO> projects) {
        this.projects = projects;
    }
    
    public String getProjectIds() {
        return projectIds;
    }
    
    public void setProjectIds(String projectIds) {
        this.projectIds = projectIds;
    }
    
    public List<GroupVO> getGroups() {
        return groups;
    }
    
    public void setGroups(List<GroupVO> groups) {
        this.groups = groups;
    }
    
    public String getGroupIds() {
        return groupIds;
    }
    
    public void setGroupIds(String groupIds) {
        this.groupIds = groupIds;
    }
    
    public Boolean isOwn() {
        return own;
    }
    
    public void setOwn(Boolean own) {
        this.own = own;
    }
    
    /**
     * @return 返回 catalog
     */
    public String getCatalog() {
        return catalog;
    }
    
    /**
     * @param 对catalog进行赋值
     */
    public void setCatalog(String catalog) {
        this.catalog = catalog;
    }
    
    /**
     * @return 返回 latestVersion
     */
    public String getLatestVersion() {
        return latestVersion;
    }
    
    /**
     * @param 对latestVersion进行赋值
     */
    public void setLatestVersion(String latestVersion) {
        this.latestVersion = latestVersion;
    }
    
    public List<Integer> getProjectIdList() {
        return projectIdList;
    }

    public void setProjectIdList(List<Integer> projectIdList) {
        this.projectIdList = projectIdList;
    }

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("DocVO [projects=");
        builder.append(projects);
        builder.append(", projectIds=");
        builder.append(projectIds);
        builder.append(", groups=");
        builder.append(groups);
        builder.append(", groupIds=");
        builder.append(groupIds);
        builder.append(", projectIdList=");
        builder.append(projectIdList);
        builder.append(", own=");
        builder.append(own);
        builder.append(", id=");
        builder.append(id);
        builder.append(", name=");
        builder.append(name);
        builder.append(", tag=");
        builder.append(tag);
        builder.append(", description=");
        builder.append(description);
        builder.append(", visibleRange=");
        builder.append(visibleRange);
        builder.append(", mdDetail=");
        builder.append(mdDetail);
        builder.append(", htmlDetail=");
        builder.append(htmlDetail);
        builder.append(", path=");
        builder.append(path);
        builder.append(", shortUrl=");
        builder.append(shortUrl);
        builder.append(", creator=");
        builder.append(creator);
        builder.append(", isValid=");
        builder.append(isValid);
        builder.append(", createTime=");
        builder.append(createTime);
        builder.append(", updateTime=");
        builder.append(updateTime);
        builder.append(", remark=");
        builder.append(remark);
        builder.append(", catalog=");
        builder.append(catalog);
        builder.append(", latestVersion=");
        builder.append(latestVersion);
        builder.append("]");
        return builder.toString();
    }
    
}